package cn.edu.xjtu.competiton.力扣.周赛.weekly292;

/**
 * @author Hydrion-QLz
 * @date 2022-05-08 10:37
 * @description https://leetcode-cn.com/contest/weekly-contest-292/problems/largest-3-same-digit-number-in-string/
 * <p>
 * 给你一个字符串 num ，表示一个大整数。如果一个整数满足下述所有条件，则认为该整数是一个 优质整数 ：
 * <p>
 * 该整数是 num 的一个长度为 3 的 子字符串 。
 * 该整数由唯一一个数字重复 3 次组成。
 * 以字符串形式返回 最大的优质整数 。如果不存在满足要求的整数，则返回一个空字符串 "" 。
 * <p>
 * 注意：
 * <p>
 * 子字符串 是字符串中的一个连续字符序列。
 * num 或优质整数中可能存在 前导零 。
 */
public class First {
    public static void main(String[] args) {
        First solution = new First();
        int[] arr = {};
        System.out.println(solution.largestGoodInteger("6777133339"));
    }

    public String largestGoodInteger(String num) {
        int val = num.charAt(0);
        int times = 1;
        int maxVal = -1;
        for (int i = 1; i < num.length(); i++) {
            char ch = num.charAt(i);
            if (ch == val) {
                times++;
                if (times == 3) {
                    maxVal = Math.max(maxVal, val - '0');
                }
            } else {
                val = ch;
                times = 1;
            }
        }
        if (maxVal == -1) {
            return "";
        }
        return String.valueOf(maxVal).repeat(3);
    }
}
